<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>增加新闻的界面</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            margin: 0;
            padding: 0;
        }
        .login-container {
            width: 100%;
            max-width: 600px;
            margin: 50px auto;
            padding: 20px;
            background: #fff;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            border-radius: 8px;
        }
        .form-group {
            margin-bottom: 15px;
        }
        .form-group label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
        }
        .form-group input {
            width: 100%;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-sizing: border-box;
        }
        .form-group input:focus {
            outline: none;
            border-color: #007bff;
        }
        .form-group button {
            width: 100%;
            padding: 10px;
            background-color: #007bff;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
        }
        .form-group button:hover {
            background-color: #0056b3;
        }
        .error {
            color: red;
            font-size: 14px;
        }
    </style>
</head>
<body>
<div id="app" class="login-container">
    <h2>增加新闻</h2>
    <div class="form-group">
        <label for="title">文章标题</label>
        <input type="text" id="title" v-model="news.title" placeholder="请输入文章标题">
    </div>
    <div class="form-group">
        <label for="context">文章内容</label>
        <textarea id="context" v-model="news.context" placeholder="请输入文章内容" rows="4" style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box;"></textarea>
    </div>

    <!--这里后面要改为 下拉框-->
    <div class="form-group">
        <label for="type">文章类型</label>
        <input type="text" id="type" v-model="news.type" placeholder="请输入文章类型">
    </div>

    <div class="form-group">
        <button type="button" @click="insert">增加</button>
    </div>

    <div v-if="errorMessage" class="error">{{ errorMessage }}</div>

</div>

<script type="text/javascript" src="../../js/vue.js"></script>
<script type="text/javascript" src="../../js/axios-0.18.0.js"></script>
<!--引入这个为了结果时间的格式问题-->
<script type="text/javascript" src="../../js/moment.min.js"></script>

<script>
    new Vue({
        el: "#app",
        data: {
            news: {
                title: '',
                context: '',
                type: '',
                uid: '',
                author: '',
                date: '', // 后端需要的日期格式
                displayDate: '' // 前端显示的日期格式
            },
            user: {},
            errorMessage: ''
        },
        methods: {
            insert: function() {

                // 基本的表单验证
                if (!this.news.title || !this.news.context || !this.news.type) {
                    this.errorMessage = "所有字段均为必填项！";
                    return;
                }

                // this.news.userId = this.user.id;
                this.news.author = this.user.username;

                // 将日期格式化为后端需要的格式
                // const now = new Date();
                // this.news.date = now.toISOString().replace('T', ' ').substring(0, 23);

                axios.post("http://localhost:8080/news/add", this.news)
                    .then(res => {
                        if (res.data.code == 200) {
                            alert("插入成功");
                            // 要进行跳转到新闻的列表
                            window.location.href = 'list.html';
                            this.news = {}; // 清空表单
                            this.errorMessage = '';
                        } else {
                            this.errorMessage = "插入失败：" + res.data.message;
                        }
                    })
                    .catch(err => {
                        console.log(err);
                        this.errorMessage = "网络错误，请稍后再试！";
                    });
            },
            findUserById: function (id) {
                axios.get("http://localhost:8080/users/findById/" + id)
                    .then(res=> {
                        if(res.data.code === 200 ) {
                            // alert("THis is a test")
                            // 拿到data里面的user复制给这个界面的user
                            this.user = res.data.data;
                            // alert(res.data.data.userId);
                            this.news.uid = res.data.data.userId;
                        } else {
                            // 没拿到 打印出信息
                            alert(res.data.msg);
                        }

                    })
                    .catch(err=>console.log(err))
            }
        },
        mounted() {
            // 设置日期为当前日期，格式为 YYYY/MM/DD
            // const today = new Date();
            // const year = today.getFullYear();
            // // 这里是用字符串拼接的方式进行的
            // const month = String(today.getUTCMonth() + 1).padStart(2, '0');
            // const day = String(today.getUTCDate()).padStart(2, '0');
            // this.news.displayDate = `${year}/${month}/${day}`;
            //
            // // 设置后端需要的日期格式，使用 UTC 时间
            // this.news.date = today.toISOString().replace('T', ' ').substring(0, 23);

            /*设置日期显示样式*/
            const now = moment().local(); // 使用本地时间
            this.news.date = now.format("YYYY-MM-DD HH:mm:ss");
            this.news.displayDate = this.news.date;
            console.log(moment().local().format("YYYY-MM-DD HH:mm:ss")); // 应该显示本地时间
        }, created() { // 页面被创建的时候就调用
            // 先去拿到其他页面传来的 userId 根据userId去查询用户
            // 获取存储的数据

            const userData = sessionStorage.getItem("user");

            // 如果存储的数据是 JSON 格式的字符串，需要将其解析为 JavaScript 对象
            if (userData) {
                this.user = JSON.parse(userData);
                console.log(user); // 打印解析后的 user 对象
            } else {
                console.log("没有找到存储的用户数据");
            }

            this.findUserById(user.userId);
        }
    });
</script>
</body>
</html>